是的,這篇是踩雷紀錄。
中間都是記錄過程,結論會直接寫在文末。
其實 Bedrock 的測試中,一個小時裡大概有半小時以上都在遭遇這個錯誤訊息...
ThrottlingException
Too many requests, please wait before trying again.
在 AWS Bedrock 中,調用 API 的次數是有額度限制的。
...其實不只 Bedrock,還有其他雲端服務也都有類似的額度機制。
多半會以 一秒鐘/一分鐘幾次操作 + 總額度 做限制,任一個額度用滿就會開始報錯。
以下節錄官方文件:
ThrottlingException
HTTP 狀態碼:429
原因:請求因超過 Amazon Bedrock 的帳戶配額而遭拒
解決方案:
檢查 Amazon Bedrock 服務配額主控台中的 Amazon Bedrock 服務配額,以了解分配給您帳戶的限制
我們建議採用 AWS 建議的重試方法,搭配指數退避和隨機抖動來改善可靠性
如果您有高輸送量需求,建議您針對使用案例探索佈建輸送量
如果您的工作負載流量超過您的帳戶配額,請聯絡您的客戶經理或 AWS Support 以請求提高配額
雖然官方提供了解決方案,但實際上在 Bedrock Playground 測試的時候,幾乎是以 5-10 分鐘執行一次的頻率使用 (因為還一邊在編輯文章),常理判斷應該不太會撞到使用額度上限才對...。
既然從 Bedrock 的錯誤訊息中看不出是哪個項目已經用到額度上限,那就只好實際進到 Amazon Bedrock 的配額儀表板。
但卻又因為:
所以...在鐵人賽的時間限制下,來不及判斷是哪個額度用罄。
最後就只能按照錯誤訊息上的指示:
Wait before trying again.
參考官方文件
對 Amazon Bedrock API 錯誤代碼進行故障診斷
Amazon Bedrock > API Reference > Common Errors
題外話,雖然在測試
Claude 3.5 Sonnet
的時候瘋狂報錯到厭世的程度,但換成Claude 3.7 Sonnet
就好了...
------------------------------------ 以上是 2025.10.02 的紀錄 ------------------------------------
不過,既然要寫成番外篇,就打算找找看到底是什麼原因造成這個錯誤訊息!
順便也把查詢過程跟使用到的資源記錄下來。
查詢 AWS 官方文件:Amazon Bedrock endpoints and quotas
試著直接在搜尋框打上 Claude 3.5 Sonnet
,或是直接在 AWS Console 的 Service Quotas > AWS 服務 > Bedrock 中搜尋,都可以找到相關的額度限制。
條目實在很多,就不一一贅述,但大致上可以分成三種類型
而每個項目又會依照:單一輸入 / 批次輸入、單一 Region / 跨區 而有不同的分別。
⚠️ 不同的模型在不同的 Region 可用限制可能不同。
有使用需求時建議先確認後再決定要在哪個區域啟用也無妨。
這時候,無意間注意到了模型清單上的「跨區域推論」
反正也沒有其他線索,先點進去看看再說!
官方文件:Increase throughput with cross-Region inference
裡面有一段說明...嗯...該怎麼說呢...
原文是這樣的:
When running model inference in on-demand mode, your requests might be restricted by service quotas or during peak usage times. Cross-Region inference enables you to seamlessly manage unplanned traffic bursts by utilizing compute across different AWS Regions. With cross-Region inference, you can distribute traffic across multiple AWS Regions, enabling higher throughput.
第一句的意思是,如果用的是單一區域的模型,使用者的 Request 可能會因為 service quotas 或使用高峰期而受限,後面的說明大致上就是跨區域推論可以將流量分散到多個 AWS 區域,以實現更高的處理量。
使!用!高!峰!期!
所以意思是就算額度限制沒到,也可能因為剛好在該 Region 的流量尖峰時間使用導致 ThrottlingException
嗎!!!
Claude 3.7 Sonnet
就能用是誤打誤撞矇到了是不是!!!不是換了模型有效,是換成支援跨區域推論的模型有效...
雖然沒有更直接的說明,但就字面解讀上應該...是有這個可能。
算是親身體驗了一課。
以後 Playground 就直接選有支援「跨區域推論」的模型就好...。
如果同樣遇到明明使用額度沒有超過限制,仍然觸發 ThrottlingException
,選的模型剛好又不支援跨區域推論,不妨更換模型試試看,說不定就穩定囉!
429 ThrottlingException